1// Insert menu illustration scene
2// Author Friedrich A. Lohmueller, June-2012
3// updated Feb-2013
4#version 3.7;
5
6  //  #declare Typ = 350; // for tests
7
8#if(( Typ < 500 | Typ > 831 )
9   & (Typ !=110) & (Typ !=430) & (Typ !=431) )
10global_settings{ assumed_gamma 1.0 }
11#end
12
13
14#default{ finish{ ambient 0.1 diffuse 0.9 }}
15#include "colors.inc"
16#include "textures.inc"
17#include "woods.inc"
18#include "shapes.inc"
19#include "functions.inc"
20#include "math.inc"
21#include "transforms.inc"
22// --------------------------- the following paths must exist:
23#declare In_Path = "40 - Special shapes/"
24#declare Sub_Path1 = "10 - 3D text shapes/"
25#declare Sub_Path2 = "15 - height_field and HF_macros/"
26#declare Sub_Path3 = "20 - mesh and non CSG shapes/"
27#declare Sub_Path4 = "25 - blob and fractal/"
28#declare Sub_Path5 = "30 - Isosurfaces by basic functions/"
29#declare Sub_Path6 = "31 - Isosurfaces by function.inc/"
30#declare Sub_Path7 = "32 - Isosurfaces by pattern functions/"
31#declare Sub_Path8 = "40 - Polynomial Quartic/"
32#declare Sub_Path9 = "50 - Parametric/"
33//------------------------------------------------------------
34
35
36
37#switch (Typ)  //----------------------------------------------------------
38// 10 - 3D text shapes/
39#case(110)  #declare Txt_Path="10 - simple flat text ttf.txt" #break
40#case(111)  #declare Txt_Path="11 - text truetypefont.txt" #break
41#case(121)  #declare Txt_Path="21 - Bevelled_Text macro.txt" #break
42#case(122)  #declare Txt_Path="22 - Circle_Text macro.txt" #break
43#case(123)  #declare Txt_Path="23 - Circle_Text_Valigned macro.txt" #break
44#case(151)  #declare Txt_Path="51 - unicode Math.txt" #break
45#case(152)  #declare Txt_Path="52 - unicode Europe.txt" #break
46#case(153)  #declare Txt_Path="53 - unicode Asia.txt" #break
47#case(154)  #declare Txt_Path="54 - unicode German.txt" #break
48
49
50// 15 - height_field and HF_macros/
51#case(209)  #declare Txt_Path="10 - height_field mountains1.txt" #break
52#case(210)  #declare Txt_Path="10 - height_field mountains2.txt" #break
53#case(211)  #declare Txt_Path="10 - height_field mountains3.txt" #break
54
55#case(220)  #declare Txt_Path="20 - HF_Square macro.txt" #break
56#case(230)  #declare Txt_Path="30 - HF_Sphere macro.txt" #break
57#case(240)  #declare Txt_Path="40 - HF_Cylinder macro.txt" #break
58#case(250)  #declare Txt_Path="50 - HF_Torus macro.txt" #break
59
60
61// 20 - mesh and non-CSG shapes/
62#case(300)  #declare Txt_Path="00 - disc.txt" #break
63#case(310)  #declare Txt_Path="10 - triangle.txt" #break
64#case(320)  #declare Txt_Path="20 - smooth_triangle.txt" #break
65#case(330)  #declare Txt_Path="30 - polygon.txt" #break
66#case(340)  #declare Txt_Path="40 - bicubic_patch.txt" #break
67
68#case(350)  #declare Txt_Path="50 - mesh teapot_tri.txt" #break
69#case(351)  #declare Txt_Path="51 - mesh chess knight and rook.txt" #break
70
71#case(371)  #declare Txt_Path="71 - mesh cube sample.txt" #break
72#case(385)  #declare Txt_Path="85 - mesh2 sample.txt" #break
73
74// 25 - blob and fractal
75#case(430)  #declare Txt_Path="30 - blob object spheres.txt" #break
76#case(431)  #declare Txt_Path="31 - blob object cylinders.txt" #break
77#case(432)  #declare Txt_Path="32 - blob object mixed.txt" #break
78#case(433)  #declare Txt_Path="33 - blob with negative strength.txt" #break
79#case(434)  #declare Txt_Path="34 - blob for loop 3D.txt" #break
80#case(440)  #declare Txt_Path="40 - julia fractal object1.txt" #break
81#case(442)  #declare Txt_Path="42 - julia fractal object2.txt" #break
82#case(444)  #declare Txt_Path="44 - julia fractal object3.txt" #break
83
84// 30 - Isosurfaces by basic functions"
85#case(500)  #declare Txt_Path="00 - isosurface syntax.txt" #break
86#case(512)  #declare Txt_Path="12 - Isosurface cristal.txt" #break
87#case(513)  #declare Txt_Path="13 - Isosurface cylinder by sqrt.txt" #break
88#case(516)  #declare Txt_Path="16 - Isosurface hyperboloid.txt" #break
89#case(519)  #declare Txt_Path="19 - Isosurface cross1.txt" #break
90#case(520)  #declare Txt_Path="20 - Isosurface cross1 min blobed.txt" #break
91#case(521)  #declare Txt_Path="21 - Isosurface cross2.txt" #break
92#case(522)  #declare Txt_Path="22 - Isosurface sine.txt" #break
93#case(524)  #declare Txt_Path="24 - Isosurface y sine concentric.txt" #break
94#case(525)  #declare Txt_Path="25 - Isosurface y sine cylinder.txt" #break
95#case(526)  #declare Txt_Path="26 - Isosurface sine sphere.txt" #break
96#case(527)  #declare Txt_Path="27 - Isosurface sine sphere y.txt" #break
97#case(528)  #declare Txt_Path="28 - Isosurface sine sphere double sine wave.txt" #break
98
99// 31 - Isosurfaces by function.inc"
100#case(600)  #declare Txt_Path="" #break
101#case(640)  #declare Txt_Path="40 - Isosurface f_rounded_box.txt" #break
102#case(641)  #declare Txt_Path="41 - Isosurface f_pillow.txt" #break
103#case(642)  #declare Txt_Path="42 - Isosurface f_superellipsoid.txt" #break
104#case(643)  #declare Txt_Path="43 - Isosurface f_torus.txt" #break
105#case(650)  #declare Txt_Path="50 - Isosurface f_heart.txt" #break
106#case(651)  #declare Txt_Path="51 - Isosurface f_comma.txt" #break
107#case(652)  #declare Txt_Path="52 - Isosurface f_dupin_cyclid.txt" #break
108#case(653)  #declare Txt_Path="53 - Isosurface f_helix1.txt" #break
109#case(655)  #declare Txt_Path="55 - Isosurface f_helix2.txt" #break
110#case(656)  #declare Txt_Path="56 - Isosurface f_spiral.txt" #break
111#case(657)  #declare Txt_Path="57 - Isosurface f_mesh1.txt" #break
112#case(658)  #declare Txt_Path="58 - Isosurface f_flange_cover.txt" #break
113#case(659)  #declare Txt_Path="59 - Isosurface f_spikes.txt" #break
114#case(660)  #declare Txt_Path="60 - Isosurface f_spikes_2d.txt" #break
115// 32 - Isosurfaces by pattern functions"
116#case(781)  #declare Txt_Path="81 - Isosurface f_leopard.txt" #break
117#case(782)  #declare Txt_Path="82 - Isosurface f_leopard.txt" #break
118#case(785)  #declare Txt_Path="85 - Isosurface Round_Box - f_crackle.txt" #break
119#case(787)  #declare Txt_Path="87 - Isosurface sphere - f_noise3d .txt" #break
120#case(788)  #declare Txt_Path="88 - Isosurface Round_Box - f_agate.txt" #break
121#case(789)  #declare Txt_Path="89 - Isosurface Round_Box - f_agate.txt" #break
122#case(791)  #declare Txt_Path="91 - Isosurface bozo 3d.txt" #break
123#case(792)  #declare Txt_Path="92 - Isosurface Sphere - f_noise3d.txt" #break
124#case(794)  #declare Txt_Path="94 - Isosurface Sphere - f_noise3d.txt" #break
125#case(796)  #declare Txt_Path="96 - Isosurface Sphere - f_noise3d.txt" #break
126#case(797)  #declare Txt_Path="97 - Isosurface Sphere - pigment.txt" #break
127#case(798)  #declare Txt_Path="98 - Isosurface f_sphere - wood.txt" #break
128// 40 - Polynomial Quartic"
129//#case(800)  #declare Txt_Path="polynomial syntax.txt" #break
130#case(801)  #declare Txt_Path="01 - Glob_5.txt" #break
131#case(802)  #declare Txt_Path="02 - Twin_Glob.txt" #break
132#case(803)  #declare Txt_Path="03 - Sinsurf.txt" #break
133
134//#case(810)  #declare Txt_Path="quartic syntax.txt" #break
135#case(813)  #declare Txt_Path="13 - Bicorn.txt" #break
136#case(814)  #declare Txt_Path="14 - Crossed_Trough.txt" #break
137#case(815)  #declare Txt_Path="15 - Cubic_Cylinder.txt" #break
138#case(816)  #declare Txt_Path="16 - Cubic_Saddle_1.txt" #break
139#case(817)  #declare Txt_Path="17 - Devils_Curve.txt" #break
140#case(818)  #declare Txt_Path="18 - Folium.txt" #break
141#case(819)  #declare Txt_Path="19 - Helix.txt" #break
142#case(820)  #declare Txt_Path="20 - Helix_1.txt" #break
143#case(821)  #declare Txt_Path="21 - Hyperbolic_Torus_40_12.txt" #break
144#case(822)  #declare Txt_Path="22 - Lemniscate.txt" #break
145#case(823)  #declare Txt_Path="23 - Quartic_Loop_1.txt" #break
146#case(824)  #declare Txt_Path="24 - Monkey_Saddle.txt" #break
147#case(825)  #declare Txt_Path="25 - Parabolic_Torus_40_12.txt" #break
148#case(826)  #declare Txt_Path="26 - Piriform.txt" #break
149#case(827)  #declare Txt_Path="27 - Quartic_Paraboloid.txt" #break
150#case(828)  #declare Txt_Path="28 - Quartic_Cylinder.txt" #break
151#case(829)  #declare Txt_Path="29 - Steiner_Surface.txt" #break
152#case(830)  #declare Txt_Path="30 - Torus_40_12.txt" #break
153#case(831)  #declare Txt_Path="31 - Witch_Hat.txt" #break
154// 50 - Parametric"
155#case(900)  #declare Txt_Path="00 - parametric sample.txt" #break
156#case(910)  #declare Txt_Path="10 - parametric flower.txt" #break
157#case(920)  #declare Txt_Path="20 - parametric ornamental.txt" #break
158#case(940)  #declare Txt_Path="40 - parametric sin cylinder.txt" #break
159#case(945)  #declare Txt_Path="45 - parametric sin surface.txt" #break
160#case(950)  #declare Txt_Path="50 - parametric screw.txt" #break
161//don't re-render this ! >15min with 8 threats !
162#case(951)  #declare Txt_Path="51 - parametric conical spiral.txt" #break
163#case(952)  #declare Txt_Path="52 - parametric Dini surface.txt" #break
164
165
166
167#end
168// ------------------------------------------------------------------------
169
170// ---------------------------
171//------------------------------ the Axes --------------------------------
172//------------------------------------------------------------------------
173#macro Axis__( AxisLen, Dark_Texture,Light_Texture,Scale)
174 union{
175    cylinder { <0,-AxisLen,0>,<0,AxisLen,0>,0.05
176               texture{checker texture{Dark_Texture }
177                               texture{Light_Texture}
178                       translate<0.1,0,0.1>}
179             }
180    cone{<0,0,0>,0.25,<0,1,0>,0 scale Scale translate <0,AxisLen,0>
181          texture{Dark_Texture}
182         }
183     } // end of union
184#end // of macro "Axis()"
185//------------------------------------------------------------------------
186#macro AxisXYZ_( AxisLenX, AxisLenY, AxisLenZ, Tex_Dark, Tex_Light,
187                 Rot_X,Rot_Y, ScaleX,ScaleY,ScaleZ)
188//--------------------- drawing of 3 Axes --------------------------------
189
190union{
191#if (AxisLenX != 0)
192 object { Axis__(AxisLenX, Tex_Dark, Tex_Light, ScaleX)   rotate< 0,0,-90>}// x-Axis
193 text   { ttf "arial.ttf",  "x",  0.15,  0  texture{Tex_Dark}
194         rotate<Rot_X,Rot_Y,0> scale ScaleX translate <AxisLenX+0.05,0.3,-0.10> no_shadow}
195#end // of #if
196#if (AxisLenY != 0)
197 object { Axis__(AxisLenY, Tex_Dark, Tex_Light,ScaleY)   rotate< 0,0,  0>}// y-Axis
198 text   { ttf "arial.ttf",  "y",  0.15,  0  texture{Tex_Dark}
199          rotate<Rot_X,0,0> scale ScaleY translate <-0.55,AxisLenY+0.15,-0.20> rotate<0,Rot_Y,0> no_shadow}
200#end // of #if
201#if (AxisLenZ != 0)
202 object { Axis__(AxisLenZ, Tex_Dark, Tex_Light,ScaleY)   rotate<90,0,  0>}// z-Axis
203 text   { ttf "arial.ttf",  "z",  0.15,  0  texture{Tex_Dark}
204          rotate<Rot_X,Rot_Y,0> scale ScaleZ translate <-0.35,0.3,AxisLenZ+0.10> no_shadow}
205#end // of #if
206} // end of union
207#end// of macro "AxisXYZ( ... )"
208//------------------------------------------------------------------------
209#declare T_Dark  =
210texture {
211 pigment{ color rgb<1,0.55,0>}
212 finish { phong 1}
213}
214#declare T_Light =
215texture {
216 pigment{ color rgb<1,1,1>}
217 finish { phong 1}
218}
219
220
221//-------------------------------------------------- end of coordinate axes
222//---------------------------------<<< settings of squared plane dimensions
223#declare RasterScale = 1.0;
224#declare RasterHalfLine  = 0.025;
225#declare RasterHalfLineZ = 0.025;
226//-------------------------------------------------------------------------
227#macro Raster(RScale, HLine)
228       pigment{ gradient x scale RScale
229                color_map{[0.000   color rgbt<1,1,1,0>*0.6]
230                          [0+HLine color rgbt<1,1,1,0>*0.6]
231                          [0+HLine color rgbt<1,1,1,1>]
232                          [1-HLine color rgbt<1,1,1,1>]
233                          [1-HLine color rgbt<1,1,1,0>*0.6]
234                          [1.000   color rgbt<1,1,1,0>*0.6]} }
235 #end// of Raster(RScale, HLine)-macro
236//-------------------------------------------------------------------------
237#declare Raster_Ground =
238plane { <0,1,0>, 0    // plane with layered textures
239        texture { pigment{color rgb<1,1,1>*1.1}
240                  finish {ambient 0.45 diffuse 0.85}}
241        texture { Raster(RasterScale,RasterHalfLine ) rotate<0,0,0> }
242        texture { Raster(RasterScale,RasterHalfLineZ) rotate<0,90,0>}
243        translate<0,0.001,0>
244      }
245//-------------------------------------------------------------------------
246#declare RasterScale = 1.0;
247#declare RasterHalfLine  = 0.015;
248#declare RasterHalfLineZ = 0.025;
249//-------------------------------------------------------------------------
250#macro Raster(RScale, HLine)
251       pigment{ gradient x scale RScale
252                color_map{[0.000   color rgbt<1,1,1,0>*1.1]
253                          [0+HLine color rgbt<1,1,1,0>*1.1]
254                          [0+HLine color rgbt<1,1,1,1>]
255                          [1-HLine color rgbt<1,1,1,1>]
256                          [1-HLine color rgbt<1,1,1,0>*1.1]
257                          [1.000   color rgbt<1,1,1,0>*1.1]} }
258 #end// of Raster(RScale, HLine)-macro
259
260#declare Raster_Ground2 =
261plane { <0,1,0>, 0    // plane with layered textures
262        texture { pigment{color rgb<1,1,1>*0.1 } }
263        texture { Raster(RasterScale,RasterHalfLine ) rotate<0,0,0> }
264        texture { Raster(RasterScale,RasterHalfLineZ) rotate<0,90,0>}
265        translate<0,0.001,0>
266      }
267//------------------------------------------------ end of squared plane XZ
268#declare Grass_Ground_Small =
269plane { <0,1,0>, 0
270        texture{ pigment{ color rgb<0.35,0.65,0.0>*0.72 }
271                 normal { bumps 0.75 scale 0.015 }
272                 finish { phong 0.1 }
273                 scale 0.33
274               } // end of texture
275      } // end of plane
276#declare Grass_Ground  =
277plane { <0,1,0>, 0
278        texture{ pigment{ color rgb<0.35,0.65,0.0>*0.72 }
279                 normal { bumps 0.75 scale 0.015 }
280                 finish { phong 0.1 }
281
282               } // end of texture
283      } // end of plane
284#declare Sand_Ground  =
285plane{ <0,1,0>, 0
286       texture{ pigment{ color rgb <1.00,0.95,0.8>}
287                normal { bumps 0.75 scale 0.025  }
288                finish { phong 0.1 }
289              } // end of texture
290     } // end of plane
291
292
293
294//-----------------------------------------------  macro "Vector(Start,End,Radius)"!
295#macro Vector(P_start,P_end, R_Vector)
296union{
297
298cylinder{ P_start, P_end - ( vnormalize(P_end - P_start)*9.5*R_Vector), R_Vector  }
299cone    { P_end - ( vnormalize(P_end - P_start)*10*R_Vector), 3*R_Vector, P_end, 0 }
300}// end of union
301#end //-------------------------------------------------------------------------- end of macro
302
303//-----------------------------------------------  macro "Distance_Marker(Start,End,Radius)"!
304#macro Distance_Marker(P_start,P_end, R_Vector)
305union{
306
307cylinder{ P_start + ( vnormalize(P_end - P_start)*9.5*R_Vector),
308          P_end - ( vnormalize(P_end - P_start)*9.5*R_Vector), R_Vector  }
309cone    { P_end - ( vnormalize(P_end - P_start)*10*R_Vector), 3*R_Vector, P_end, 0 }
310cone    { P_start + ( vnormalize(P_end - P_start)*10*R_Vector), 3*R_Vector, P_start, 0 }
311}// end of union
312#end //-------------------------------------------------------------------------- end of macro
313// -----------------------------------------------
314#macro MySky()
315 sky_sphere{ pigment{ gradient <0,1,0>
316                       color_map{ [0   color rgb<1,1,1>         ]//White
317                                [0.3 color rgb<0.24,0.34,0.56>*0.8]//~Navy
318                                [0.7 color rgb<0.24,0.34,0.56>*0.8]//~Navy
319                                [1.0 color rgb<1,1,1>         ]//White
320                              }
321                     rotate<0,0,0>
322                     scale 2 }
323           } // end of sky_sphere
324fog{fog_type   2
325    distance   50
326    color      White
327    fog_offset 0.1
328    fog_alt    1.0
329    turbulence 0.8}
330
331#end // call: MySky()
332// sky -------------------------------------------------------------------
333#macro MySky2 (Turn)
334sky_sphere{ pigment{ gradient <0,1,0>
335                     color_map{ [0   color rgb<1,1,1>         ]//White
336                                [0.5 color rgb<0.24,0.34,0.56>*0.7]//~Navy
337                                [0.5 color rgb<0.24,0.34,0.56>*0.7]//~Navy
338                                [1.0 color rgb<1,1,1>         ]//White
339                              }
340
341                     #if(Turn=1)rotate<-50,0,-50> #end
342                     #if(Turn=2)rotate< 50,110,0> #end
343                     scale 2 }
344           } // end of sky_sphere
345#end // of macro
346//------------------------------------------------------------------------
347// sky --------------------------------------------------------------
348#macro MySky3()
349plane{<0,1,0>,1 hollow
350       texture{ pigment{ bozo turbulence 0.92
351                         color_map { [0.00 rgb <0.20, 0.20, 1.0>*0.9]
352                                     [0.50 rgb <0.20, 0.20, 1.0>*0.9]
353                                     [0.70 rgb <1,1,1>]
354                                     [0.85 rgb <0.25,0.25,0.25>]
355                                     [1.0 rgb <0.5,0.5,0.5>]}
356                        scale<1,1,1.5>*2.5  translate< 0,0,0>
357                       }
358                finish {ambient 1 diffuse 0} }
359       scale 10000}
360// fog on the ground -------------------------------------------------
361fog { fog_type   2
362      distance   150
363      color      White
364      fog_offset 0.1
365      fog_alt    1.5
366      turbulence 1.8
367    }
368#end // of macro
369
370// -----------------------------------------------
371#declare T_Orange =
372texture{ pigment{ color rgb<1.00,0.65,0.15>}
373         finish { phong 1 }
374       } // end of texture
375#declare T_DarkRed =
376texture{ pigment{ color rgb<1,0,0>*0.3 }
377         finish { phong 0.1 }
378       } // end of texture
379#declare T_Red =
380texture{ pigment{ color rgb<1,0,0> }
381         finish { phong 0.1 }
382       } // end of texture
383//-----------------------------------------------------------------------------------------
384//-----------------------------------------------------------------------------------------
385//-----------------------------------------------------------------------------------------
386
387
388
389
390
391// 10 - 3D_text_shapes/
392// ----
393#if (Typ=110)
394//object{ Raster_Ground }
395#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
396#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/10 - simple flat text ttf.txt"
397#end
398// ----
399#if (Typ=111)
400MySky3()
401object{ Grass_Ground }
402camera{ angle 27 location < 1.50, 3.00, -10.50> look_at< 0.15, 1.75,  0.15>}
403light_source{<-1500,2000,-2500>  color rgb<1,1,1>*0.8}     // sun light
404light_source{ < 1.50, 3.00, -10.50> color rgb<0.9,0.9,1>*0.1 shadowless}  // flash light
405#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/11 - text truetypefont.txt"
406#end
407// ----
408#if (Typ=121)
409object{ Sand_Ground } MySky()
410//#include "10 - Ready made scenes/30 - Basic Scene 03 - White sands with blue sky.txt"
411camera{ angle 39 location < -1.20, 2.80, -2.2> look_at<0.80, 0.80,  0.00>}
412light_source{<1500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
413light_source{< -1.20, 2.80, -2.2>color rgb<0.9,0.9,1>*0.1}  // flash light
414#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/21 - Bevelled_Text macro.txt"
415#end
416// ----
417#if (Typ=122)
418object{ Grass_Ground } MySky()
419camera{ angle 59 location < -0.00, 0.40, -3.5> look_at<0.00, 1.10,  0.00>}
420light_source{<- 500, 3000,-2500> color rgb<1,1,1>*0.5}     // sun light
421light_source{< -0.00, 1.50, -3.5> color rgb<0.9,0.9,1>*0.7}  // flash light
422#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/22 - Circle_Text macro.txt"
423#end
424// ----4
425#if (Typ=123)
426object{ Grass_Ground } MySky()
427camera{ angle  50 location <2.0 , 1.0 ,-2.0> look_at <0.0 , 0.3 , 0.0>}
428light_source{< 500,2000,-2500> color rgb<1,1,1>*0.9}     // sun light
429light_source{< 2.00, 1.50, -2.5> color rgb<0.9,0.9,1>*0.1 shadowless}  // flash light
430#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/23 - Circle_Text_Valigned macro.txt"
431#end
432
433// ----
434#if (Typ=151)
435MySky2(2)
436camera{ angle 71 location <0.0 , 1.0 ,-3.0> look_at< 0, 1.0,  0.00>}
437light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.9}     // sun light
438light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
439object{ AxisXYZ_( 6.65, 3.7, 1.5, T_Dark, T_Light, 0, 0,   0.65,0.65,0.15) scale 0.5}
440#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/51 - unicode Math.txt"
441#end
442// ----
443#if (Typ=152)
444MySky2(2)
445camera{ angle 78 location < 3.35, 2.50, -5.00> look_at< 3.35, 2.5,  0.00>}
446light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.9}     // sun light
447light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
448object{ AxisXYZ_( 6.65, 4.7, 1.5, T_Dark, T_Light, 0, 0,   0.65,0.65,0.15) scale 1}
449#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/52 - unicode Europe.txt"
450#end
451// ----
452#if (Typ=153)
453MySky2(2)
454camera{ angle 71 location < 0, 1.30, -3.00> look_at< 0, 1.3,  0.00>}
455light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.9}     // sun light
456light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
457object{ AxisXYZ_( 3.65, 4.7, 1.5, T_Dark, T_Light, 0, 0,   0.65,0.65,0.15) scale 0.5}
458#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/53 - unicode Asia.txt"
459#end
460// ----
461#if (Typ=154)
462MySky2(2)
463camera{ angle 68 location < 1.65, 1.00, -3.00> look_at< 1.65, 1.0,  0.00>}
464light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.9}     // sun light
465light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
466object{ AxisXYZ_( 6.65, 3.7, 1.5, T_Dark, T_Light, 0, 0,   0.65,0.65,0.15) scale 0.5}
467#include concat(In_Path,Sub_Path1,Txt_Path) // "10 - 3D_text_shapes/51 - unicode German.txt"
468#end
469// ----
470/*
471#case(110)  #declare Txt_Path="10 - simple flat text ttf.txt" #break
472#case(111)  #declare Txt_Path="11 - text truetypefont.txt" #break
473#case(121)  #declare Txt_Path="21 - Bevelled_Text macro.txt" #break
474#case(122)  #declare Txt_Path="22 - Circle_Text macro.txt" #break
475#case(123)  #declare Txt_Path="23 - Circle_Text_Valigned macro.txt" #break
476#case(151)  #declare Txt_Path="51 - unicode German.txt" #break
477#case(152)  #declare Txt_Path="52 - unicode Europe.txt" #break
478#case(153)  #declare Txt_Path="53 - unicode Asia.txt" #break
479*/
480// ----
481// 15 - height_field and HF_macros/
482#if (Typ=209)
483object{ Raster_Ground scale 1}  MySky()
484camera{ angle 65 location<0.0 , 1.0 ,-3.0> look_at<0.0 , 1.0 , 0.0>}
485light_source{<-2500,1500,-1500> color rgb<1,1,1>*1}     // sun light
486#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/10 - height_field mountains1.txt"
487#end
488// ----
489#if (Typ=210)
490object{ Raster_Ground scale 1}  MySky()
491camera{ angle 65 location<0.0 , 1.0 ,-3.0> look_at<0.0 , 1.0 , 0.0>}
492light_source{<-2500,1500,-2500> color rgb<1,1,1>*1}     // sun light
493#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/10 - height_field mountains2.txt"
494#end
495// ----
496#if (Typ=211)
497object{ Raster_Ground scale 1}  MySky()
498camera{ angle 75 location <0.00, 1, -3> look_at< 0.00, 1,  0>}
499light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
500light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
501#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/10 - height_field mountains3.txt"
502#end
503// ----
504#if (Typ=220)
505object{ Raster_Ground }
506camera{ angle 46 location < 4.0, 4.00, -4.00> look_at< 0.0, 0.20,  0.0>}
507light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
508light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
509object{ AxisXYZ_( 2.35, 1.75, 3.5, T_Dark, T_Light, 25, -45,   0.45,0.55,0.75) scale 1}
510#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/20 - HF_Square macro.txt"
511#end
512// ----
513#if (Typ=230)
514object{ Raster_Ground  translate<0,-2,0>}
515camera{ angle 50 location < 4.0, 4.00, -4.00> look_at< 0.0, 0.20,  0.0>}
516light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
517light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
518object{ AxisXYZ_( 2.35, 2.25, 4.0, T_Dark, T_Light, 25, -45,   0.45,0.55,0.75) scale 1}
519#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/30 - HF_Sphere macro.txt"
520#end
521// ----
522#if (Typ=240)
523object{ Raster_Ground }
524camera{ angle 48 location < 4.0, 4.00, -4.00> look_at< 0.0, 0.50,  0.0>}
525light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
526light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
527object{ AxisXYZ_( 2.45, 2.25, 5.5, T_Dark, T_Light, 25, -45,   0.45,0.55,0.75) scale 1}
528#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/40 - HF_Cylinder macro.txt"
529#end
530// ----
531#if (Typ=250)
532object{ Raster_Ground }
533camera{ angle 47 location < 4.5, 4.00, -4.50> look_at< 0.02, 0.10,  0.02>}
534light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
535light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
536object{ AxisXYZ_( 3.05, 1.75, 4.5, T_Dark, T_Light, 25, -45,   0.45,0.55,0.75) scale 1}
537#include concat(In_Path,Sub_Path2,Txt_Path) // "15 - height_field and HF_macros/50 - HF_Torus macro.txt"
538#end
539// ----
540/*
541#case(209)  #declare Txt_Path="10 - height_field mountains1.txt" #break
542#case(210)  #declare Txt_Path="10 - height_field mountains2.txt" #break
543#case(211)  #declare Txt_Path="10 - height_field mountains3.txt" #break
544
545#case(220)  #declare Txt_Path="20 - HF_Square macro.txt" #break
546#case(230)  #declare Txt_Path="30 - HF_Sphere macro.txt" #break
547#case(240)  #declare Txt_Path="40 - HF_Cylinder macro.txt" #break
548#case(250)  #declare Txt_Path="50 - HF_Torus macro.txt" #break
549*/
550
551// ------- 20 - mesh and non-CSG shapes/
552
553/*
554#case(300)  #declare Txt_Path="00 - disc.txt" #break
555#case(310)  #declare Txt_Path="10 - triangle.txt" #break
556#case(320)  #declare Txt_Path="20 - smooth_triangle.txt" #break
557#case(330)  #declare Txt_Path="30 - polygon.txt" #break
558#case(340)  #declare Txt_Path="40 - bicubic_patch.txt" #break
559
560#case(371)  #declare Txt_Path="71 - mesh cube sample.txt" #break
561#case(385)  #declare Txt_Path="85 - mesh2 sample.txt" #break
562
563*/
564// ----
565#if (Typ=300)
566object{ Raster_Ground }
567camera{ angle 26 location < 3.50, 3.00, -4.50> look_at< 0.15, 0.55,  0.15>}
568light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
569light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
570object{ AxisXYZ_( 2.75, 2.7, 3.5, T_Dark, T_Light, 20, -36,   0.55,0.55,0.75) scale 0.5}
571#include concat(In_Path,Sub_Path3,Txt_Path) // "00 - disc.txt"
572#end
573// ----
574#if (Typ=310)
575object{ Raster_Ground }
576camera{ angle 26 location < 3.50, 3.00, -4.50> look_at< 0.15, 0.55,  0.15>}
577light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
578light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
579object{ AxisXYZ_( 2.75, 2.7, 3.5, T_Dark, T_Light, 20, -36,   0.55,0.55,0.75) scale 0.5}
580#include concat(In_Path,Sub_Path3,Txt_Path) // "10 - triangle.txt"
581#end
582// ----
583#if (Typ=320)
584object{ Raster_Ground }
585MySky()
586camera{ angle 52 location < 5.50, 5.00, -5.50> look_at< 0.5, 1.75,  0.5>}
587light_source{<1500, 2500,-2500> color rgb<1,1,1>*0.8}     // sun light
588light_source{< 5.50, 3.00, -4.50> color rgb<0.9,0.9,1>*0.1}  // flash light
589object{ AxisXYZ_( 3.35, 4.25, 4.5, T_Dark, T_Light, 10, -45,   0.55,0.55,0.85) scale 1}
590#include concat(In_Path,Sub_Path3,Txt_Path) // "20 - smooth_triangle.txt"
591#end
592// ----
593#if (Typ=330)
594object{ Raster_Ground }
595camera{ angle 45 location < 3.50, 3.50, -4.50> look_at< 1.5, 1.20,  0.15>}
596light_source{<2500, 2500,-2500> color rgb<1,1,1>*0.8}     // sun light
597light_source{< 3.50, 3.00, -4.50> color rgb<0.9,0.9,1>*0.1}  // flash light
598object{ AxisXYZ_( 6.75, 4.9, 3.5, T_Dark, T_Light, 15, -21,   0.75,0.75,1.05) scale 0.5}
599#include concat(In_Path,Sub_Path3,Txt_Path) // "30 - polygon.txt"
600#end
601// ----
602#if (Typ=340)
603object{ Raster_Ground }
604camera{ angle 32 location < 5.50, 6.00, -8.50> look_at<-0.0, 1.95,  -1.20>}
605light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
606light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
607object{ AxisXYZ_( 2.35, 3.2, 3.5, T_Dark, T_Light, 20, -36,   0.55,0.55,0.75) scale 1}
608#include concat(In_Path,Sub_Path3,Txt_Path) // "40 - bicubic_patch.txt"
609#end
610// ----
611#if (Typ=371)
612object{ Raster_Ground }
613camera{ angle 35 location < 5.50, 6.00, -8.50> look_at< 0.5, 1.75,  -1.20>}
614light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
615light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
616object{ AxisXYZ_( 2.55, 3.2, 8.5, T_Dark, T_Light, 20, -36,   0.75,0.75,1.15) scale 1}
617#include concat(In_Path,Sub_Path3,Txt_Path) //71 - mesh cube sample.txt
618#end
619#if (Typ=385)
620object{ Raster_Ground }
621camera{ angle 35 location < 2.50, 4.50, -3.70> look_at< 0.5, 0.0,  1.40>}
622light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
623light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
624object{ AxisXYZ_( 1.95, 1.8, 3.5, T_Dark, T_Light, 30, -06,   0.45,0.45,0.65) scale 1}
625 #include concat(In_Path,Sub_Path3,Txt_Path)//85 - mesh2 sample.txt
626#end
627// --------20 - mesh and non-CSG shapes///
628#if (Typ=350)
629MySky2(1)
630camera{ angle 26 location < 2.50, 3.00, -4.50> look_at< 0.15, 0.63,  0.15>}
631light_source{<2500, 2500,-0000> color rgb<1,1,1>*0.8}     // sun light
632light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
633object{ AxisXYZ_( 2.25, 2.8, 6, T_Dark, T_Light, 20, -36,   0.55,0.55,0.75) scale 0.5}
634#include concat(In_Path,Sub_Path3,Txt_Path) // "50 - mesh teapot_tri.txt"
635#end
636// ----
637#if (Typ=351)
638MySky2(1)
639camera{ angle 26 location < 3.50, 3.00, -4.50> look_at< 0.15, 0.55,  0.15>}
640light_source{<2500, 2500,-1000> color rgb<1,1,1>*0.8}     // sun light
641light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
642object{ AxisXYZ_( 2.25, 2.7, 6, T_Dark, T_Light, 20, -36,   0.55,0.55,0.75) scale 0.5}
643#declare WHITE_KNIGHT_1 = texture { pigment{ color rgb<1,1,1>*0.15 } finish{ phong 1}}
644#declare BLACK_ROOK_1   = texture { pigment{ color rgb<1,1,1>*1.10 } finish{ phong 1}}
645#include concat(In_Path,Sub_Path3,Txt_Path) // "51 - mesh chess knight and rook.txt"
646#end
647// ----
648
649
650
651
652
653// --------25 - blob and fractal/
654#if (Typ=430)
655#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
656object{ AxisXYZ_( 3.25, 3.2, 2, T_Dark, T_Light, 0, 0,   0.75,0.75,0.75) scale 0.5}
657#include concat(In_Path,Sub_Path4,Txt_Path) // "30 - blob object spheres.txt"
658#end
659// ----
660#if (Typ=431)
661#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
662object{ AxisXYZ_( 3.25, 3.2, 2, T_Dark, T_Light, 0, 0,   0.75,0.75,0.75) scale 0.5}
663#include concat(In_Path,Sub_Path4,Txt_Path) // "31 - blob object cylinders.txt"
664#end
665// ----
666#if (Typ=432)
667MySky3()
668object{ Grass_Ground }
669light_source{<-1500,2000,-2500>  color rgb<1,1,1>*0.8}     // sun light
670light_source{ < 1.50, 3.00, -10.50> color rgb<0.9,0.9,1>*0.1}  // flash light
671camera{ angle 40 location < 3.50, 3.00, -4.50> look_at< 0.75, 0.55,  0.40>}
672object{ AxisXYZ_( 5.45, 3.2, 6, T_Dark, T_Light, 10, -25,   0.75,0.85,0.95) scale 0.5}
673#include concat(In_Path,Sub_Path4,Txt_Path) // "32 - blob object mixed.txt"
674#end
675// ----
676#if (Typ=433)
677MySky3()
678object{ Grass_Ground }
679light_source{<-1500,2000,-2500>  color rgb<1,1,1>*0.8}     // sun light
680light_source{ < 1.50, 3.00, -10.50> color rgb<0.9,0.9,1>*0.1}  // flash light
681camera{ angle 40 location < 2.50, 5.50, -5.50> look_at< 0.30, 0.50,  0.10>}
682object{ AxisXYZ_( 2.750, 2.0, 4, T_Dark, T_Light, 30, -25,   0.45,0.45,0.75) scale 1}
683#include concat(In_Path,Sub_Path4,Txt_Path) // "33 - blob with negative strength.txt"
684#end
685// ----
686#if (Typ=434)
687MySky3()
688object{ Grass_Ground }
689light_source{<-1500,2000,-2500>  color rgb<1,1,1>*0.8}     // sun light
690light_source{ < 1.50, 3.00, -10.50> color rgb<0.9,0.9,1>*0.1}  // flash light
691camera{ angle 40 location < 5.00, 6.00, -7.50> look_at< 1.75, 1.50,  1.40>}
692object{ AxisXYZ_( 4.00, 4.0, 8, T_Dark, T_Light, 10, -15,   0.65,0.65,2.25) scale 1}
693#include concat(In_Path,Sub_Path4,Txt_Path) // "34 - blob for loop 3D.txt"
694#end
695// ----
696#if (Typ=440)
697MySky2(1)
698//#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
699camera{ angle 27 location < 3.50, 3.00, -4.50> look_at< 0.05, 0.15,  0.05>}
700light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
701light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
702object{ AxisXYZ_( 2.8, 2.1, 3.5, T_Dark, T_Light, 20, -45,   0.55,0.55,0.75) scale 0.5}
703#include concat(In_Path,Sub_Path4,Txt_Path) // "40 - julia fractal object1.txt"
704#end
705// ----
706#if (Typ=442)
707MySky2(1)
708//#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
709camera{ angle 27 location < 3.50, 3.00, -4.50> look_at< 0.05, 0.15,  0.05>}
710light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
711light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
712object{ AxisXYZ_( 2.8, 2.1, 3.5, T_Dark, T_Light, 20, -45,   0.55,0.55,0.75) scale 0.5}
713#include concat(In_Path,Sub_Path4,Txt_Path) // "42 - julia fractal object2.txt"
714#end
715// ----
716#if (Typ=444)
717MySky2(1)
718//#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
719camera{ angle 27 location < 3.50, 3.00, -4.50> look_at< 0.05, 0.200,  0.05>}
720light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
721light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
722object{ AxisXYZ_( 2.8, 2.2, 3.5, T_Dark, T_Light, 20, -45,   0.45,0.45,0.65) scale 0.5}
723#include concat(In_Path,Sub_Path4,Txt_Path) // "44 - julia fractal object3.txt"
724#end
725// ----
726/*
727#case(430)  #declare Txt_Path="30 - blob object spheres.txt" #break
728#case(431)  #declare Txt_Path="31 - blob object cylinders.txt" #break
729#case(432)  #declare Txt_Path="32 - blob object mixed.txt" #break
730#case(433)  #declare Txt_Path="33 - blob with negative strength.txt" #break
731#case(434)  #declare Txt_Path="34 - blob for loop 3D.txt" #break
732#case(440)  #declare Txt_Path="40 - julia fractal object1.txt" #break
733#case(442)  #declare Txt_Path="42 - julia fractal object2.txt" #break
734#case(444)  #declare Txt_Path="44 - julia fractal object3.txt" #break
735*/
736
737
738//--------------------------------------------------------------------------------- Isosurfaces
739//  Isosurfaces  by_basic_functions
740// ----
741#if (Typ>=500 & Typ< 800)     // 50 - Basic Scene 05 - Grass with small clouds in sky
742#include "10 - Ready made scenes/50 - Basic Scene 05 - Grass with small clouds in sky.txt"
743#end
744#if (Typ=500) #include concat(In_Path,Sub_Path5,Txt_Path) #end
745#if (Typ=512) #include concat(In_Path,Sub_Path5,Txt_Path) #end
746#if (Typ=513) #include concat(In_Path,Sub_Path5,Txt_Path) #end
747#if (Typ=516) #include concat(In_Path,Sub_Path5,Txt_Path) #end
748#if (Typ=519) #include concat(In_Path,Sub_Path5,Txt_Path) #end
749#if (Typ=520) #include concat(In_Path,Sub_Path5,Txt_Path) #end
750#if (Typ=521) #include concat(In_Path,Sub_Path5,Txt_Path) #end
751#if (Typ=522) #include concat(In_Path,Sub_Path5,Txt_Path) #end
752#if (Typ=524) #include concat(In_Path,Sub_Path5,Txt_Path) #end
753#if (Typ=525) #include concat(In_Path,Sub_Path5,Txt_Path) #end
754#if (Typ=526) #include concat(In_Path,Sub_Path5,Txt_Path) #end
755#if (Typ=527) #include concat(In_Path,Sub_Path5,Txt_Path) #end
756#if (Typ=528) #include concat(In_Path,Sub_Path5,Txt_Path) #end
757// ----
758/*
759#case(500)  #declare Txt_Path="00 - isosurface syntax.txt" #break
760#case(510)  #declare Txt_Path="10 - Isosurface house.txt" #break
761#case(512)  #declare Txt_Path="12 - Isosurface cristal.txt" #break
762#case(513)  #declare Txt_Path="13 - Isosurface cylinder by sqrt.txt" #break
763#case(516)  #declare Txt_Path="16 - Isosurface hyperboloid.txt" #break
764#case(519)  #declare Txt_Path="19 - Isosurface cross1.txt" #break
765#case(520)  #declare Txt_Path="20 - Isosurface cross1 min_blobed.txt" #break
766#case(521)  #declare Txt_Path="21 - Isosurface cross2.txt" #break
767#case(522)  #declare Txt_Path="22 - Isosurface sine.txt" #break
768#case(524)  #declare Txt_Path="24 - Isosurface y sine concentric.txt" #break
769#case(525)  #declare Txt_Path="25 - Isosurface y sine cylinder.txt" #break
770#case(526)  #declare Txt_Path="26 - Isosurface sine sphere.txt" #break
771#case(527)  #declare Txt_Path="27 - Isosurface sine sphere y.txt" #break
772#case(528)  #declare Txt_Path="28 - Isosurface sine sphere double sine wave.txt" #break
773*/
774// Isosurfaces_by_function
775#if (Typ=640) #include concat(In_Path,Sub_Path6,Txt_Path) #end
776#if (Typ=641) #include concat(In_Path,Sub_Path6,Txt_Path) #end
777#if (Typ=642) #include concat(In_Path,Sub_Path6,Txt_Path) #end
778#if (Typ=643) #include concat(In_Path,Sub_Path6,Txt_Path) #end
779
780#if (Typ=650) #include concat(In_Path,Sub_Path6,Txt_Path) #end
781#if (Typ=651) #include concat(In_Path,Sub_Path6,Txt_Path) #end
782#if (Typ=652) #include concat(In_Path,Sub_Path6,Txt_Path) #end
783#if (Typ=653) #include concat(In_Path,Sub_Path6,Txt_Path) #end
784#if (Typ=655) #include concat(In_Path,Sub_Path6,Txt_Path) #end
785#if (Typ=656) #include concat(In_Path,Sub_Path6,Txt_Path) #end
786#if (Typ=657) #include concat(In_Path,Sub_Path6,Txt_Path) #end
787#if (Typ=658) #include concat(In_Path,Sub_Path6,Txt_Path) #end
788#if (Typ=659) #include concat(In_Path,Sub_Path6,Txt_Path) #end
789#if (Typ=660) #include concat(In_Path,Sub_Path6,Txt_Path) #end
790/*
791#case(640)  #declare Txt_Path="40 - Isosurface f_rounded_box.txt" #break
792#case(641)  #declare Txt_Path="41 - Isosurface f_pillow.txt" #break
793#case(642)  #declare Txt_Path="42 - Isosurface f_superellipsoid.txt" #break
794#case(643)  #declare Txt_Path="43 - Isosurface f_torus.txt" #break
795#case(644)  #declare Txt_Path="44 - Isosurface f_torus2.txt" #break
796#case(650)  #declare Txt_Path="50 - Isosurface f_heart.txt" #break
797#case(651)  #declare Txt_Path="51 - Isosurface f_comma.txt" #break
798#case(652)  #declare Txt_Path="52 - Isosurface f_dupin_cyclid.txt" #break
799#case(653)  #declare Txt_Path="53 - Isosurface f_helix1.txt" #break
800#case(655)  #declare Txt_Path="55 - Isosurface f_helix2.txt" #break
801#case(656)  #declare Txt_Path="56 - Isosurface f_spiral.txt" #break
802#case(657)  #declare Txt_Path="57 - Isosurface f_mesh1.txt" #break
803#case(658)  #declare Txt_Path="58 - Isosurface f_flange_cover.txt" #break
804#case(659)  #declare Txt_Path="59 - Isosurface f_spikes.txt" #break
805#case(660)  #declare Txt_Path="60 - Isosurface f_spikes_2d.txt" #break
806*/
807//  Isosurfaces by pattern_functions
808#if (Typ=781) #include concat(In_Path,Sub_Path7,Txt_Path) #end
809#if (Typ=782) #include concat(In_Path,Sub_Path7,Txt_Path) #end
810#if (Typ=785) #include concat(In_Path,Sub_Path7,Txt_Path) #end
811#if (Typ=787) #include concat(In_Path,Sub_Path7,Txt_Path) #end
812#if (Typ=788) #include concat(In_Path,Sub_Path7,Txt_Path) #end
813#if (Typ=789) #include concat(In_Path,Sub_Path7,Txt_Path) #end
814#if (Typ=791) #include concat(In_Path,Sub_Path7,Txt_Path) #end
815#if (Typ=792) #include concat(In_Path,Sub_Path7,Txt_Path) #end
816#if (Typ=794) #include concat(In_Path,Sub_Path7,Txt_Path) #end
817#if (Typ=796) #include concat(In_Path,Sub_Path7,Txt_Path) #end
818#if (Typ=797) #include concat(In_Path,Sub_Path7,Txt_Path) #end
819#if (Typ=798) #include concat(In_Path,Sub_Path7,Txt_Path) #end
820/*
821#case(781)  #declare Txt_Path="81 - Isosurface f_leopard.txt" #break
822#case(782)  #declare Txt_Path="82 - Isosurface f_leopard.txt" #break
823#case(785)  #declare Txt_Path="85 - Isosurface Round_Box - f_crackle.txt" #break
824#case(787)  #declare Txt_Path="87 - Isosurface sphere - f_noise3d .txt" #break
825#case(788)  #declare Txt_Path="88 - Isosurface Round_Box - f_agate.txt" #break
826#case(789)  #declare Txt_Path="89 - Isosurface Round_Box - f_agate.txt" #break
827#case(791)  #declare Txt_Path="91 - Isosurface bozo 3d.txt" #break
828#case(792)  #declare Txt_Path="92 - Isosurface Sphere - f_noise3d.txt" #break
829#case(793)  #declare Txt_Path="93 - Isosurface Sphere - f_noise3d.txt" #break
830#case(794)  #declare Txt_Path="94 - Isosurface Sphere - f_noise3d.txt" #break
831#case(796)  #declare Txt_Path="96 - Isosurface Sphere - f_noise3d.txt" #break
832#case(797)  #declare Txt_Path="97 - Isosurface Sphere - pigment.txt" #break
833#case(798)  #declare Txt_Path="98 - Isosurface f_sphere - wood.txt" #break
834*/
835
836
837// 40 - Polynomial Quartic"
838/*
839#case(801)  #declare Txt_Path="01 - Glob_5.txt" #break
840#case(802)  #declare Txt_Path="02 - Twin_Glob.txt" #break
841#case(803)  #declare Txt_Path="03 - Sinsurf.txt" #break
842
843#case(813)  #declare Txt_Path="13 - Bicorn.txt" #break
844#case(814)  #declare Txt_Path="14 - Crossed_Trough.txt" #break
845#case(815)  #declare Txt_Path="15 - Cubic_Cylinder.txt" #break
846#case(816)  #declare Txt_Path="16 - Cubic_Saddle_1.txt" #break
847#case(817)  #declare Txt_Path="17 - Devils_Curve.txt" #break
848#case(818)  #declare Txt_Path="18 - Folium.txt" #break
849#case(819)  #declare Txt_Path="19 - Helix.txt" #break
850#case(820)  #declare Txt_Path="20 - Helix_1.txt" #break
851#case(821)  #declare Txt_Path="21 - Hyperbolic_Torus_40_12.txt" #break
852#case(822)  #declare Txt_Path="22 - Lemniscate.txt" #break
853#case(823)  #declare Txt_Path="23 - Quartic_Loop_1.txt" #break
854#case(824)  #declare Txt_Path="24 - Monkey_Saddle.txt" #break
855#case(825)  #declare Txt_Path="25 - Parabolic_Torus_40_12.txt" #break
856#case(826)  #declare Txt_Path="26 - Piriform.txt" #break
857#case(827)  #declare Txt_Path="27 - Quartic_Paraboloid.txt" #break
858#case(828)  #declare Txt_Path="28 - Quartic_Cylinder.txt" #break
859#case(829)  #declare Txt_Path="29 - Steiner_Surface.txt" #break
860#case(830)  #declare Txt_Path="30 - Torus_40_12.txt" #break
861#case(831)  #declare Txt_Path="31 - Witch_Hat.txt" #break
862*/
863#if (Typ=801)
864#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
865// ----
866#if (Typ=802)
867#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
868// ----
869#if (Typ=803)
870#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
871// ----
872#if (Typ=813)
873#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
874// ----
875#if (Typ=814)
876#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
877// ----
878#if (Typ=815)
879#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
880// ----
881#if (Typ=816)
882#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
883// ----
884#if (Typ=817)
885#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
886// ----
887#if (Typ=818)
888#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
889// ----
890#if (Typ=819)
891#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
892// ----
893#if (Typ=820)
894#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
895// ----
896#if (Typ=821)
897#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
898// ----
899#if (Typ=822)
900#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
901// ----
902#if (Typ=823)
903#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
904// ----
905#if (Typ=824)
906#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
907// ----
908#if (Typ=825)
909#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
910// ----
911#if (Typ=826)
912#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
913// ----
914#if (Typ=827)
915#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
916// ----
917#if (Typ=828)
918#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
919// ----
920#if (Typ=829)
921#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
922// ----
923#if (Typ=830)
924#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
925// ----
926#if (Typ=831)
927#include "10 - Ready made scenes/M0 - Basic Scene M0 - DarkBlueSky + Axes.txt"  #include concat(In_Path,Sub_Path8,Txt_Path) #end
928// ----
929
930// 50 - Parametric"
931/*
932#case(900)  #declare Txt_Path="00 - parametric sample.txt" #break
933#case(910)  #declare Txt_Path="10 - parametric flower.txt" #break
934#case(915)  #declare Txt_Path="15 - parametric ornamental.txt" #break
935#case(940)  #declare Txt_Path="40 - parametric sin cylinder.txt" #break
936#case(945)  #declare Txt_Path="45 - parametric sin surface.txt" #break
937#case(950)  #declare Txt_Path="50 - parametric screw.txt" #break
938#case(951)  #declare Txt_Path="51 - parametric conical spiral.txt" #break
939#case(952)  #declare Txt_Path="52 - parametric Dini surface.txt" #break
940*/
941#if (Typ=900)
942MySky2(1)
943camera{ angle 26 location < 3.50, 2.00, -3.50> look_at< 0.05, 0.40,  0.05>}
944light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
945light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
946object{ AxisXYZ_( 2.5, 2.0, 3, T_Dark, T_Light, 10, -45,   0.45,0.45,0.55) scale 0.5}
947#include concat(In_Path,Sub_Path9,Txt_Path) // "00 - parametric sample.txt"
948#end
949// ----
950#if (Typ=910)
951MySky2(1)
952camera{ angle 33 location < 3.50, 3.00, -3.50> look_at< 0.05, 0.90,  0.05>}
953light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
954light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
955object{ AxisXYZ_( 1.15, 3.55, 2, T_Dark, T_Light, 10, -45,   0.65,0.55,0.75) scale 0.5}
956#include concat(In_Path,Sub_Path9,Txt_Path) // "10 - parametric flower.txt"
957#end
958// ----
959#if (Typ=920)
960MySky2(1)
961camera{ angle 26 location < 3.50, 2.00, -3.50> look_at< 0.05, 0.20,-0.20>}
962light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
963light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
964object{ AxisXYZ_( 2.1, 1.5, 3, T_Dark, T_Light, 10, -45,   0.45,0.45,0.55) scale 0.5}
965#include concat(In_Path,Sub_Path9,Txt_Path) // "20 - parametric ornamental.txt"
966#end
967// ----
968#if (Typ=940)
969MySky2(1)
970camera{ angle 26 location < 3.50, 2.00, -3.50> look_at< 0.05, 0.05,  0.05>}
971light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
972light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
973object{ AxisXYZ_( 2.5, 1.5, 4, T_Dark, T_Light, 10, -45,   0.45,0.45,0.55) scale 0.5}
974#include concat(In_Path,Sub_Path9,Txt_Path) // "40 - parametric sin cylinder.txt"
975#end
976// ----
977#if (Typ=945)
978MySky2(1)
979camera{ angle 21 location < 2.50, 2.50, -2.50> look_at< 0.05, 0.10,  0.05>}
980light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
981light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
982object{ AxisXYZ_( 3, 2.5, 4, T_Dark, T_Light, 10, -45,   0.55,0.55,0.65) scale 0.25}
983#include concat(In_Path,Sub_Path9,Txt_Path) // "45 - parametric sin surface.txt"
984#end
985// ----
986#if (Typ=950)
987MySky2(1)
988camera{ angle 28 location < 2.50, 1.50, -2.50> look_at< 0.05, 0.45,  0.05>}
989light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
990light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
991object{ AxisXYZ_( 2.5, 4.0, 4, T_Dark, T_Light, 10, -45,   0.55,0.55,0.65) scale 0.25}
992#include concat(In_Path,Sub_Path9,Txt_Path) // "50 - parametric screw.txt"
993#end
994// ----
995#if (Typ=951)
996MySky2(1)
997camera{ angle 30 location < 2.50, 1.50, -1.50> look_at< 0.05, 0.45,  0.05>}
998light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
999light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
1000object{ AxisXYZ_( 1.5, 3.5, 2.1, T_Dark, T_Light, 10, -45,   0.45,0.45,0.55) scale 0.25}
1001#include concat(In_Path,Sub_Path9,Txt_Path) // "51 - parametric conical spiral.txt"
1002#end
1003// ----
1004#if (Typ=952)
1005MySky2(1)
1006camera{ angle 38 location < 2.50, 1.50, -2.50> look_at< 0.05, 0.45,  0.05>}
1007light_source{<2500, 2500,-2000> color rgb<1,1,1>*0.8}     // sun light
1008light_source{< 2.65,0.00,-2.50> color rgb<0.9,0.9,1>*0.1}  // flash light
1009object{ AxisXYZ_( 3.00, 5.0, 4.1, T_Dark, T_Light, 10, -45,   0.75,0.75,0.95) scale 0.25}
1010#include concat(In_Path,Sub_Path9,Txt_Path) // "52 - parametric Dini surface.txt"
1011#end
1012// ----
1013
1014//-----------------------------------------------------------------------------------------
1015//-----------------------------------------------------------------------------------------
1016//-----------------------------------------------------------------------------------------
1017//-----------------------------------------------------------------------------------------